Line graphs consist of a series of points, connected by lines and drawn on a 2 or 3 dimensional Cartesian grid. A point represents a (domain, range) pair, in which the domain is often (but not necessarily) time. The points in this set are connected with lines such that a pair of points representing (d1,r1) and (d2,r2) are connected if and only if no point exists having a domain value >=d1 and <=d2.
In the ordinary Cartesian grid, the domain and range values for a given point are typically represented by variables x and y.
In the prior art, where there are many points and it is impractical or undesirable to notate the domain and/or range value of each point individually, the viewer of a graph is assisted in making assessments of the domain/range values of the points by means of tick marks, spaced at regular intervals along the margins of the graph area. In addition, a grid of lines are placed upon or drawn within the graph area to allow the viewer to estimate the domain and range values of a point located at some separation from one or more tick-marked margins of the graph area. An example of such a graph is illustrated in FIG. 1, in which a graph of systolic blood pressure vs. time is plotted. The intention is to allow the viewer to perceive both the shape of the graph, representing the data trends and fluctuations over time, as well as the approximate range values of each point.
However, this type of graph, in order to be effective, must be fairly compact so that the user can more or less simultaneously view the contour of the graph as well as estimate the range values of individual points or groups of adjacent points. When the size of the graph is quite large, particularly in the X dimension, much effort is expended in estimating the values of the various data points since the larger the graph, the further from the tick-mark-bearing edges any given data point will be on average. Moreover, when such graphs are displayed on computer display units, the size and resolution of the display device intrinsically limit the amount of graph data displayable.
The present invention is directed to exactly this issue in the display of graphs which are by nature very long in the horizontal or x direction and relatively short in the vertical or y direction. An additional motivation for this invention is the ability to display a number of these graphs one on top of the other with a common x axis representing time.
To deal with the limitations of display devices, two general approaches are used. In one approach, a portion of the graph of interest is displayed in a small region of the display device surface, such region being smaller than the amount of space needed to render the graph in its entirety, and means are provided for “scrolling” to allow various portions of the larger graph to be seen. This scrolling effect can be created either by means of a continuous moveable bar that is adjacent to the display area, or by “North/South/East/West” labeled buttons that “jump” the view within the region to a nearby (possibly overlapping) section of the larger graph. Both of these approaches suffer from the problem that the tick marks remain far from the points under inspection and may require the user to scroll back and forth around the graph using the affordances of the interface to be able to see both the tick marks and the points of interest. In the second approach, the graph is simply compressed so that its entirely will fit within a region of the display. While removing the need to scroll, this approach causes the graph's aspect ratio to be altered and may produce a graph that is too small, too flat, or too jagged relative to the natural presentation aspect ratio of the graph. A zoom function is often provided to magnify a section of the graph, but at the cost of hiding surrounding portions of the graph.
Several prior techniques exist that attempt to overcome the problems of the first approach described above. Sometimes, the tick marks are shown in a frame around the display region for the graph itself, and thus are present to accompany whatever portion of the graph is shown within the window. Again, if the display region is fairly large, some scrolling about is needed to bring points to a position close enough to the tickmarked frame to allow for value estimation. Another technique allows the user to move the screen cursor to the point of interest, whereupon a small rectangle appears displaying the exact range value of the point. This approach, while being useful for getting the exact range value, requires the user to physically move the screen cursor to each point of interest, and necessarily displays only that one point's range values without contributing to the estimation of the values of several points.
Finally, the tick marks can be dispensed with entirely, and each point in the graph labeled with a small call-out or label indicating its domain and/or range value. This works well when the points are spaced nicely, but can lead to confusion and a cluttered appearance when display space is limited or the points are intrinsically spaced closely, or when the spacing of the points is irregular and a region of the graph contains a much higher than average concentration of points.
A number of patents cover inventions that relate to or include presentation of graphs existing within a Cartesian graph space.
U.S. Pat. No. 6,577,323 issued on Jun. 10, 2003 to Jamieson, et al. describes a system to provide real-time process information to a user for a multivariable process operable under control of a plurality of process variables includes a controller operable to control one or more process variables and provide data representative of such process variables. The system further includes a graphical user interface which receives data representative of the process variables from the controller to display on a single display screen a plurality of display regions.
U.S. Pat. No. 6,429,868 issued Aug. 6, 2002 to Dehner, Jr., et al. describes a method and computer program for simultaneously displaying very large sets of quantitative data. The method and computer program permit the display of quantitative data without first standardizing the data. The method and computer program also permit an observer to display the data space under user controlled color mappings, to select color spectrums to emphasize or hide certain data or certain characteristics, and to move over and fly through the data space to identify and analyze areas of interest.
U.S. Pat. No. 6,023,280 issued Feb. 8, 2000 to Becker, et al. describes a method and apparatus for providing visualization of information contained in a data set is provided. The data set is arranged in first and second categories of data, and a selection variable and a summary variable are chosen from the second category of data. A unique value is located in the first category of data which matches each selection variable, and a statistical summary of the summary variables is computed for each located unique value in the first category of data. The resultant display is based on the computation of the statistical summary.
U.S. Pat. No. 6,020,898 issued Feb. 1, 2000 to Saito, et al. describes a system in which information recorded on optical recording media is reproduced by a recording/reproducing unit. A plurality of predetermined items are selected by a keyboard among reproduced information. A list of inspection data of time-series order in which all inspection data of a plurality of selected items are in the time-series order, and a list in which numerical-value data of the selected items are graphed in time-series order are simultaneously displayed on the same display surface.
U.S. Pat. No. 5,684,508 issued Nov. 4, 1997 to Brilman describes a method of displaying continuously acquired measurement values as a plurality of traces in a display with a fixed number of pixels is provided. An input signal is captured as a series of acquired input signals. Measurement values are calculated from the acquired input signals according to a set of measurement parameters. The measurement values are plotted to a display as a plurality of traces according to the measurement parameters. Each of the traces may be scaled vertically independently of one another. At the end of the fixed number of pixels of the display, the pixel values are compressed to half the fixed number of pixels and the pixel rate is halved, thereby doubling the time scale. As a minimum pixel rate is eventually reached, the traces are then scrolled in a roll mode in which the newest measurement value is added to one end of the display and the old value at the other end is discarded. This scrolling process can continue indefinitely, requiring no operator intervention or prior knowledge to set a total measurement time. U.S. Pat. No. 5,684,507 issued Nov. 4, 1997 to Rasnake, et al. describes a method of displaying continuously acquired measurement data in a display with a fixed number of pixels is provided. Measurement data is provided at a predetermined fixed sample rate independent of a pixel rate which is equal to or less than the sample rate. The measurement data is convened to pixel data which includes the minimum, maximum, and the average of the measurement data gathered and the pixel data is plotted to the pixels at a pixel rate. At the end of the fixed number of pixels of the display, the pixel values are compressed to half the fixed number of pixels and the pixel rate is halved, thereby doubling the time scale. This process can continue indefinitely, requiring no operator intervention or prior knowledge to set a total measurement time. Furthermore, the sample rate is independent of the pixel rate so that a tradeoff of sample rate and total measurement time need not be made.
U.S. Pat. No. 5,414,838 issued May 9, 1995 to Kolton, et al. describes A computerized data retrieval system, especially for commodity price information databases, having a windowing system which aids a user in creating and revising formal search language queries, a database searching engine responsive to such queries, means to generate and format results in both textual and graphic reports, and a capacity for echoing a formal search language query to a display in a near-natural language format for easy comprehension by the user as the query is constructed using the windowing system.